/**   
* @Title: ItemServiceImpl.java 
* @Package com.taotao.service.impl 
* @Description: TODO(用一句话描述该文件做什么) 
* @author hekai   
* @date 2017年1月1日 下午4:47:01 
* @version V1.0   
*/
package com.taotao.service.impl;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.taotao.common.pojo.EasyUIDataGridResult;
import com.taotao.common.pojo.TaotaoResult;
import com.taotao.common.utils.IDUtils;
import com.taotao.mapper.TbItemDescMapper;
import com.taotao.mapper.TbItemMapper;
import com.taotao.mapper.TbItemParamItemMapper;
import com.taotao.pojo.TbItem;
import com.taotao.pojo.TbItemDesc;
import com.taotao.pojo.TbItemExample;
import com.taotao.pojo.TbItemParamItem;
import com.taotao.service.ItemService;

/**
 * @ClassName: ItemServiceImpl
 * @Description: TODO()
 * @author hekai
 * @date 2017年1月1日 下午4:47:01
 * 
 */
@Service
public class ItemServiceImpl implements ItemService {

	@Autowired
	private TbItemMapper itemMapper;

	@Autowired
	private TbItemDescMapper itemDescMapper;

	@Autowired
	private TbItemParamItemMapper itemParamItemMapper;
	
	@Override
	public TbItem getItemById(Long id) {
		TbItem item = itemMapper.selectByPrimaryKey(id);
		return item;
	}

	/*
	 * 分页获取商品列表
	 * 
	 * @see com.taotao.service.ItemService#getItemList(int, int)
	 */
	@Override
	public EasyUIDataGridResult getItemList(int page, int rows) {
		// 1、设置分页信息
		PageHelper.startPage(page, rows);
		// 2、执行查询
		TbItemExample example = new TbItemExample();
		List<TbItem> list = itemMapper.selectByExample(example);
		// 3、取分页结果
		PageInfo<TbItem> pageInfo = new PageInfo<>(list);
		// 4、返回处理结果
		EasyUIDataGridResult result = new EasyUIDataGridResult();
		result.setTotal(pageInfo.getTotal());
		result.setRows(list);
		return result;

	}

	/*
	 * 新增商品
	 * 
	 * @see com.taotao.service.ItemService#createItem(com.taotao.pojo.TbItem,
	 * java.lang.String)
	 */
	@Override
	public TaotaoResult createItem(TbItem item, String desc, String itemParams) {
		// 生成商品id
		long itemId = IDUtils.genItemId();
		// 补全商品信息
		item.setId(itemId);
		// 商品状态，1-正常，2-下架，3-删除
		item.setStatus((byte) 1);
		// 创建时间和更新时间
		Date date = new Date();
		item.setCreated(date);
		item.setUpdated(date);
		// 插入商品表
		itemMapper.insert(item);
		// 商品描述
		TbItemDesc itemDesc = new TbItemDesc();
		itemDesc.setItemId(itemId);
		itemDesc.setItemDesc(desc);
		itemDesc.setCreated(date);
		itemDesc.setUpdated(date);
		itemDescMapper.insert(itemDesc);
		//商品参数
		TbItemParamItem itemParamItem = new TbItemParamItem();
		itemParamItem.setItemId(itemId);
		itemParamItem.setParamData(itemParams);
		itemParamItemMapper.insert(itemParamItem);
		// 插入商品描述数据
		return TaotaoResult.ok();
	}

}
